#  协程：
#   当程序遇见io操作时，会选择性的切换到其他任务上
#   提高程序的运行效率

import time


def func():
    print("hello,world")
    time.sleep(3)  # 让当前线程处于阻塞状态,cpu不为我工作
    print("你好，世界!")


if __name__ == '__main__':
    func()

# input() 程序等待输入，处于阻塞状态
# requests.get(https://bilibili.com) 在网络请求没有返回数据前，程序也是处于阻塞状态
# 一般情况下，当程序处于io操作时（输入/出），程序也会处于阻塞状态

# 协程：当程序遇见io操作时，会选择性的切换到其他任务上
# 在微观上是一个任务一个任务的切换，切换条件一般是io操作
# 在宏观上是，我们所看到的是一个任务一起执行
# 多任务异步操作

# 上边所讲的一切，都是在单线程的提条件下
